/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interfaces;

import java.util.Collection;
import java.util.Set;

/**
 *
 * @author markusbaisch
 */
public interface Bounded3DimStack<E> extends Mutable {
     void load(int bayNo, int rowNo, E elem);
     void load(E elem);
     void loadAll(Collection <? extends E> coll);

     boolean isEmpty();
     boolean isFull();
     boolean tierIsEmpty(int bayNo, int rowNo);
     boolean tierIsFull(int bayNo, int rowNo);
     boolean contains(Object elem);
     boolean containsAll(Collection<?> coll);

     E get(StowageLocation loc);
     Set<E> getAll();
     StowageLocation locationOf(E elem);
}
